#pragma once

#include "LCMFirstStep.h"
#include "Controller.h"


using namespace System::Collections;
using namespace System::Collections::Generic;
using namespace System::Drawing;
using namespace System::IO;
using namespace System;

// Hier wird die eigentliche Berechnung des Local Context Matching vorgenommen

ref class WorkerThreadLCM1
{
public:
	String^ path;  // Pfad zu aktuellem Bild
	array<int,3>^ orgLabValues;  // die LAB-Werte des Ausgangsbilds
	int picNumber;  
	LCMFirstStep^ lcm1;
	Controller^ controller;
	// Konstruktor
	WorkerThreadLCM1(Controller^ controller, LCMFirstStep^ lcm1, String^ path, array<int,3>^ orgLabValues, int picNumber){this->controller = controller, this->lcm1 = lcm1, this->path = path, this->orgLabValues = orgLabValues, this->picNumber = picNumber;}
	// Berechung wird hier vorgenommen
	void calculateD(Object^ s);
};

